home *** CD-ROM | disk | FTP | other *** search
- ; This is the module that needs to be assembled and linked with a C application
- ; that uses the dissidents' samp.library
- ;
- ; All values passed to the samp.library routines MUST be 32 bit quantities!
-
- SECTION SampInt,CODE
-
- XREF _SAMPBase ;C application opens samp.library and stores
- ;the base at this variable
-
- INCLUDE "SAMP.i" ;needs the assembly INCLUDE file
-
- XDEF _OpenSampRead,__OpenSampRead
- _OpenSampRead:
- movea.l _SAMPBase,a6
- __OpenSampRead:
- move.l 4(sp),d1
- movea.l 8(sp),a0
- jsr _LVOOpenSampRead(a6)
- move.l d1,_SAMPError
- rts
-
- XDEF _CloseSamp,__CloseSamp
- _CloseSamp:
- movea.l _SAMPBase,a6
- __CloseSamp:
- jmp _LVOCloseSamp(a6)
-
- XDEF _ReadWaves,__ReadWaves
- _ReadWaves:
- movea.l _SAMPBase,a6
- __ReadWaves:
- movem.l d6/d7/a2/a3,-(sp)
- movem.l 20(sp),d6/d7/a2/a3
- jsr _LVOReadWaves(a6)
- move.l d1,_SAMPError
- movem.l (sp)+,d6/d7/a2/a3
- rts
-
- XDEF _LoadPlaymap,__LoadPlaymap
- _LoadPlaymap:
- movea.l _SAMPBase,a6
- __LoadPlaymap:
- movem.l d6/d7,-(sp)
- movem.l 12(sp),d0/d1
- movem.l 20(sp),d6/d7
- movea.l 28(sp),a0
- jsr _LVOLoadPlaymap(a6)
- movem.l (sp)+,d6/d7
- rts
-
- XDEF _MixPlaymap,__MixPlaymap
- _MixPlaymap:
- movea.l _SAMPBase,a6
- __MixPlaymap:
- movem.l d6/d7,-(sp)
- movem.l 12(sp),d0/d1
- movem.l 20(sp),d6/d7
- movea.l 28(sp),a0
- jsr _LVOMixPlaymap(a6)
- movem.l (sp)+,d6/d7
- rts
-
- XDEF _MakeTransTable,__MakeTransTable
- _MakeTransTable:
- movea.l _SAMPBase,a6
- __MakeTransTable:
- movem.l d5/d6/d7/a2,-(sp)
- movem.l 20(sp),d5/d6/d7/a2
- jsr _LVOMakeTransTable(a6)
- movem.l (sp)+,d5/d6/d7/a2
- rts
-
- XDEF _OpenSampWrite,__OpenSampWrite
- _OpenSampWrite:
- movea.l _SAMPBase,a6
- __OpenSampWrite:
- move.l 4(sp),d1
- jsr _LVOOpenSampWrite(a6)
- move.l d1,_SAMPError
- rts
-
- XDEF _WriteMHDR,__WriteMHDR
- _WriteMHDR:
- movea.l _SAMPBase,a6
- __WriteMHDR:
- move.l 4(sp),d0
- movea.l 8(sp),a0
- jmp _LVOWriteMHDR(a6)
-
- XDEF _WriteSampChunk,__WriteSampChunk
- _WriteSampChunk:
- movea.l _SAMPBase,a6
- __WriteSampChunk:
- movem.l 4(sp),d0/d1/a0
- jmp _LVOWriteSampChunk(a6)
-
- XDEF _WriteSampData,__WriteSampData
- _WriteSampData:
- movea.l _SAMPBase,a6
- __WriteSampData:
- move.l d3,-(sp)
- movem.l 8(sp),d3/a0
- jsr _LVOWriteSampData(a6)
- move.l (sp)+,d3
- rts
-
- XDEF _WriteNames,__WriteNames
- _WriteNames:
- movea.l _SAMPBase,a6
- __WriteNames:
- movem.l 4(sp),d0/a0
- jmp _LVOWriteNames(a6)
-
- XDEF _WriteWaves,__WriteWaves
- _WriteWaves:
- movea.l _SAMPBase,a6
- __WriteWaves:
- movem.l 4(sp),d0/d1/a0/a1
- jmp _LVOWriteWaves(a6)
-
- XDEF _SAMPErrorMsg,__SAMPErrorMsg
- _SAMPErrorMsg:
- movea.l _SAMPBase,a6
- __SAMPErrorMsg:
- move.l 4(sp),d1
- jmp _LVOSAMPErrorMsg(a6)
-
- SECTION SampDat,DATA
-
- XDEF _SAMPError
- _SAMPError dc.l 0
-